#include "I2C.h"

// 从机地址是一个定值
#define AT24C02_ADDRESS 0xA0

// WordAddress: 在哪个地址进行写入
// Data：数据
void AT24C02_WriteByte(unsigned char WordAddress,unsigned char Data)
{

	I2C_Start();
	// 写入 从机地址+写标志
	I2C_SendByte(AT24C02_ADDRESS);
	I2C_RecvAck();
	// 写入 地址
	I2C_SendByte(WordAddress);
	I2C_RecvAck();
	// 写入 数据
	I2C_SendByte(Data);
	I2C_RecvAck();	
	I2C_Stop();
	
}


unsigned char AT24C02_ReadByte(unsigned char ReadAddress)
{
	unsigned char Data;
	// 1.写入 读地址
	I2C_Start();
	// a. 给定从机地址+写标志
	I2C_SendByte(AT24C02_ADDRESS);
	I2C_RecvAck();
	// b. 写入读地址
	I2C_SendByte(ReadAddress);
	I2C_RecvAck();
	// 2.从 读地址 进行读取数据
	I2C_Start();
	// a. 给定从机地址+读标志
	I2C_SendByte(AT24C02_ADDRESS | 0x01);
	I2C_RecvAck();
	// b. 读取数据
	Data = I2C_RecvByte();
	I2C_SendAck(1);
	I2C_Stop();
	
	return Data;
}